package presentacion;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
import javax.swing.table.DefaultTableCellRenderer;

import logicaDelNegocio.RedDeComunicacion;

public class JPanelEnlaces extends JPanel{
	
	RedDeComunicacion redAux;
	Border lineaContorno; 
	JButton btnEditarEnlaces;
	
	Border tituloContorno;
	
	String [] titulos = {"idOrigen","CostoEnlace","idDestino"};
	String [][] datosTabla;
	
	JTable table;
	JScrollPane scrollPaneTabla;
	
	public JPanelEnlaces(){
		inicializarPanelEnlaces();
	}
	
	public void setComponentes(RedDeComunicacion red){
		redAux = red;
		this.setLayout(new BorderLayout());
			datosTabla = new String[redAux.getEnlaces().size()][titulos.length];

			for (int i = 0; i < redAux.getEnlaces().size(); i++) {
				datosTabla[i][0] = redAux.getEnlaces().get(i).getIdConmutadorOrigen();
				datosTabla[i][1] = Float.toString(redAux.getEnlaces().get(i).getCostoDeTransferencia());
				datosTabla[i][2] = redAux.getEnlaces().get(i).getIdConmutadorDestino();
			}
			
			table = new JTable(datosTabla, titulos);
			table.setPreferredScrollableViewportSize(new Dimension(400, 170));
			table.setEnabled(false);
			 //Creamos un JscrollPane y le agregamos la JTable
			 scrollPaneTabla = new JScrollPane(table);
			 scrollPaneTabla.setSize(350,200);
			 
			// Centrar las celdas de la tabla
			DefaultTableCellRenderer modelocentrar = new DefaultTableCellRenderer();
			modelocentrar.setHorizontalAlignment(SwingConstants.CENTER);
			for (int i = 0; i < titulos.length; i++) {
				table.getColumnModel().getColumn(i).setCellRenderer(modelocentrar);
			}
			    
			 //Agregamos el JScrollPane al contenedor
			this.add(scrollPaneTabla, BorderLayout.CENTER);
//			btnEditarEnlaces= new JButton("Editar Enlaces");
//			this.add(btnEditarEnlaces,BorderLayout.SOUTH);
	}
	
	private void inicializarPanelEnlaces(){
		this.lineaContorno = BorderFactory.createLineBorder(Color.getHSBColor(3, 2, 0), 4, true); 
		this.tituloContorno = BorderFactory.createTitledBorder(lineaContorno, "Enlaces", TitledBorder.CENTER, TitledBorder.TOP);
		this.setVisible(true);
		this.setSize(new Dimension(400,400));
		this.setBorder(lineaContorno);
		this.setBorder(tituloContorno);
		this.setVisible(true);
		this.setLocation(50, 25);
	}
}
